(current-language-environment-custom-type): New fun.
authorMarkus Rost <rost@math.uni-bielefeld.de>
Wed, 11 Dec 2002 21:29:14 +0000 (21:29 +0000)
committerMarkus Rost <rost@math.uni-bielefeld.de>
Wed, 11 Dec 2002 21:29:14 +0000 (21:29 +0000)
(set-language-info): Use it.
(current-language-environment): Fix custom type.

lisp/international/mule-cmds.el

index aa33a39352b214ad323b555c5d3a1398b8003cff..3d824de6b46a2cd764a25479fa5e961d2b81ee2b 100644 (file)
@@ -985,7 +985,9 @@ see `language-info-alist'."
        (progn
          (setq key-slot (list key))
          (setcdr lang-slot (cons key-slot (cdr lang-slot)))))
-    (setcdr key-slot (purecopy info))))
+    (setcdr key-slot (purecopy info))
+    (put 'current-language-environment 'custom-type
+        (current-language-environment-custom-type))))
 
 (defun set-language-info-alist (lang-env alist &optional parents)
   "Store ALIST as the definition of language environment LANG-ENV.
@@ -1485,6 +1487,13 @@ This hook is mainly used for canceling the effect of
          (customize-mark-as-set 'current-language-environment))
       (error "Bogus calling sequence"))))
 
+(defun current-language-environment-custom-type ()
+  "Return a custom type for `current-language-environment'.
+This is based on `language-info-alist'."
+  (cons 'choice (mapcar (lambda (lang)
+                         (list 'const (car lang)))
+                       language-info-alist)))
+
 (defcustom current-language-environment "English"
   "The last language environment specified with `set-language-environment'.
 This variable should be set only with \\[customize], which is equivalent
@@ -1498,9 +1507,8 @@ to using the function `set-language-environment'."
                          current-language-environment)
                        language-info-alist))
             "English"))
-  :type (cons 'choice (mapcar (lambda (lang)
-                               (list 'const (car lang)))
-                             language-info-alist))
+  ;; a better custom type will be set with `set-language-info'.
+  :type 'string
   :initialize 'custom-initialize-default
   :group 'mule)